home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / icsources.lha / PROGRAMS / PLOT < prev    next >
Encoding:
Text File  |  1990-06-23  |  3.2 KB  |  184 lines

  1.      
  2.         section ax,code_c
  3.        opt c-,d+,w-,o+    
  4.     
  5.        include 'df1:insert/custom registers'
  6.     
  7. badd=(320*256)/8
  8.     
  9.        lea $dff000,a6
  10.        move.w #$87e0,dmacon(a6)
  11.        jsr cop_init
  12.         move.l $6c,oldirq
  13.         move.l #newirq,$6c
  14. mse:
  15.         cmp.b #$f0,$dff006
  16.         bne mse
  17.         move.w #$0fff,$dff180
  18.         move #1,d1
  19. lopp:
  20.        jsr plotter
  21.        dbra d1,lopp
  22.        move.w #$0000,$dff180
  23.        
  24. zog:
  25.         btst #6,$bfe001
  26.        bne mse
  27.         move.l oldirq,$6c
  28.         move.l copaddr,a0
  29.         move.l oldcop,(a0)
  30.         clr.l d0
  31. nolib:    
  32.        rts    
  33.     
  34. newirq:  
  35.        movem.l d0-d7/a0-a6,$75000
  36.     
  37.        movem.l $75000,d0-d7/a0-a6
  38.        dc.w $4ef9
  39.     
  40. oldirq: 
  41.        dc.l 0
  42.  
  43.        even
  44.  
  45. cop_init:
  46.      
  47.         lea screen,a0
  48.         move.l a0,d0
  49.         move.w d0,lo1
  50.         swap d0
  51.         move.w d0,hi1
  52.         lea screen+badd,a0
  53.         move.l a0,d0
  54.         move.w d0,lo2
  55.         swap d0
  56.         move.w d0,hi2
  57.         lea screen+badd*2,a0
  58.         move.l a0,d0
  59.         move.w d0,lo3
  60.         swap d0
  61.         move.w d0,hi3
  62.         lea screen+badd*3,a0
  63.         move.l a0,d0
  64.         move.w d0,lo4
  65.         swap d0
  66.         move.w d0,hi4
  67.         lea screen+badd*4,a0
  68.         move.l a0,d0
  69.         move.w d0,lo5
  70.         swap d0
  71.         move.w d0,hi5
  72.         moveq #$00,d0
  73.         lea grafname,a1
  74.         move.l $4,a6
  75.         jsr -132(A6)
  76.         move.l $4,A6
  77.         jsr -408(a6)
  78.         tst d0
  79.         beq nolib
  80.         move.l d0,grafbase
  81.         move.l d0,a6
  82.         add.l #$32,d0
  83.         move.l d0,a0
  84.         move.l a0,copaddr
  85.         move.l (a0),oldcop
  86.         move.l #newcop,(a0)
  87.         rts
  88.  
  89.        even
  90.       
  91. grafname:  dc.b "graphics.library",0
  92. grafbase:  dc.l 0
  93. oldcop:    dc.l 0
  94. copaddr:   dc.l 0
  95. bast:       dc.w 0
  96. cast:       dc.w 0
  97.  
  98.        even
  99.  
  100. newcop:       dc.w $0100,$1200
  101.         dc.w $0102
  102. boh:        dc.w $0000
  103.        dc.w $0120
  104. sp1l:       dc.w $0000,$0122
  105. sp1h:        dc.w $0000 
  106.        dc.w $0124
  107. sp2l:       dc.w $0000,$0126
  108. sp2h:        dc.w $0000 
  109.        dc.w $0128
  110. sp3l:       dc.w $0000,$012a
  111. sp3h:        dc.w $0000 
  112.        dc.w $012c
  113. sp4l:       dc.w $0000,$012e
  114. sp4h:        dc.w $0000
  115.        dc.w $0130
  116. sp5l:       dc.w $0000,$132
  117. sp5h:        dc.w $0000
  118.  scr:         dc.w $2001,$fffe
  119.         dc.w $00e0
  120.  hi1:       dc.w $0000
  121.        dc.w $00e2
  122.  lo1:       dc.w $0000     
  123.        dc.w $00e4
  124.  hi2:       dc.w $0000
  125.        dc.w $00e6
  126.  lo2:       dc.w $0000 
  127.        dc.w $00e8
  128.  hi3:       dc.w $0000
  129.        dc.w $00ea
  130.  lo3:       dc.w $0000 
  131.        dc.w $00ec
  132.  hi4:       dc.w $0000
  133.        dc.w $00ee
  134.  lo4:       dc.w $0000 
  135.        dc.w $00f0
  136.  hi5:       dc.w $0000
  137.        dc.w $00f2
  138.  lo5:       dc.w $0000
  139.        dc.w $008e,$3021 
  140.        dc.w $0090,$30f1
  141. cols:      dc.w $180,$000,$182,$fff,$184,$fdb,$186,$db9
  142.        dc.w $188,$c97,$18a,$a75,$18c,$853,$18e,$033
  143.        dc.w $190,$c60,$192,$ba5,$194,$962,$196,$530
  144.        dc.w $198,$db4,$19a,$558,$19c,$447,$19e,$336
  145.        dc.w $1a0,$a40,$1a2,$f44,$1a4,$b00,$1a6,$222
  146.        dc.w $1a8,$333,$1aa,$444,$1ac,$555,$1ae,$666        
  147.        dc.w $1b0,$777,$1b2,$888,$1b4,$999,$1b6,$aaa
  148.        dc.w $1b8,$ccc,$1ba,$ddd,$1bc,$eee,$1be,$fff
  149.        dc.w $ffff,$fffe
  150.      
  151.        even
  152.  
  153. screen:
  154.        ds.l 10*256
  155.      
  156. plotter:
  157.        move.w bast,d2
  158.        move.w cast,d3
  159.        addi.w #1,bast
  160.        cmpi.w #319,bast
  161.        bne gloop
  162.        move.w #0,bast
  163.        addi.w #4,cast   
  164. gloop:
  165.        divu #8,d2
  166.        move.w d2,d4
  167.        add.l d4,plot+4
  168.        swap d2
  169.        sub.w d2,plot+2
  170.        mulu #40,d3
  171.        add.l d3,plot+4
  172.  
  173. plot:
  174.  
  175.        bset #31,screen
  176.        move.w #31,plot+2
  177.        move.l #screen,plot+4
  178.        clr.l d2
  179.        clr.l d3
  180.        clr.l d4
  181.        rts
  182.        
  183.        
  184.